{
  //ts有哪些类型，怎么使用
  //1.boolean
  let a: boolean = true;

  //2.number
  let b: number = 1;

  //3.string
  let c: string = "im string";

  //4.Array数组
  let d: number[] = [1, 2, 3];
  let e: string[] = ["1", "2", "3"];

  let f: Array<number> = [1, 2, 3];
  let g: Array<string> = ["1", "2", "3"];

  //5.tuple 元祖
  let arr: [string, number, boolean] = ["string1", 1, true];

  //6.enum 枚举
  enum Type {
    success = 0,
    fail = 1,
  }
  let i: Type = Type.fail;

  //7.any
  let j: any = [{ sc: 1, cs: "flah" }];

  //8.null和undefined 其他数据类型的子类型
  let num: undefined;

  //9.never 从不会出现的值
  let k: never = (() => {
    throw new Error("error");
  })();

  //10.void 没有任何类型，没有返回值
  function l(): void {}

  //11.interface 接口
  interface myTpe {}

  //12.Generic 泛型
}

// 常用的内置工具
// Omit Partial Require Readonly Pick